home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 March / Amiga-CD 1996 #3.iso / pd-software / mui_3.1 / developer / autodocs / mui_area.doc < prev    next >
Text File  |  1996-01-19  |  37KB  |  1,349 lines

  1. TABLE OF CONTENTS
  2.  
  3. Area.mui/Area.mui
  4. Area.mui/MUIA_Background
  5. Area.mui/MUIA_BottomEdge
  6. Area.mui/MUIA_ContextMenu
  7. Area.mui/MUIA_ContextMenuTrigger
  8. Area.mui/MUIA_ControlChar
  9. Area.mui/MUIA_CycleChain
  10. Area.mui/MUIA_Disabled
  11. Area.mui/MUIA_Draggable
  12. Area.mui/MUIA_Dropable
  13. Area.mui/MUIA_ExportID
  14. Area.mui/MUIA_FixHeight
  15. Area.mui/MUIA_FixHeightTxt
  16. Area.mui/MUIA_FixWidth
  17. Area.mui/MUIA_FixWidthTxt
  18. Area.mui/MUIA_Font
  19. Area.mui/MUIA_Frame
  20. Area.mui/MUIA_FramePhantomHoriz
  21. Area.mui/MUIA_FrameTitle
  22. Area.mui/MUIA_Height
  23. Area.mui/MUIA_HorizDisappear
  24. Area.mui/MUIA_HorizWeight
  25. Area.mui/MUIA_InnerBottom
  26. Area.mui/MUIA_InnerLeft
  27. Area.mui/MUIA_InnerRight
  28. Area.mui/MUIA_InnerTop
  29. Area.mui/MUIA_InputMode
  30. Area.mui/MUIA_LeftEdge
  31. Area.mui/MUIA_MaxHeight
  32. Area.mui/MUIA_MaxWidth
  33. Area.mui/MUIA_ObjectID
  34. Area.mui/MUIA_Pressed
  35. Area.mui/MUIA_RightEdge
  36. Area.mui/MUIA_Selected
  37. Area.mui/MUIA_ShortHelp
  38. Area.mui/MUIA_ShowMe
  39. Area.mui/MUIA_ShowSelState
  40. Area.mui/MUIA_Timer
  41. Area.mui/MUIA_TopEdge
  42. Area.mui/MUIA_VertDisappear
  43. Area.mui/MUIA_VertWeight
  44. Area.mui/MUIA_Weight
  45. Area.mui/MUIA_Width
  46. Area.mui/MUIA_Window
  47. Area.mui/MUIA_WindowObject
  48. Area.mui/MUIM_AskMinMax
  49. Area.mui/MUIM_Cleanup
  50. Area.mui/MUIM_ContextMenuBuild
  51. Area.mui/MUIM_ContextMenuChoice
  52. Area.mui/MUIM_DragBegin
  53. Area.mui/MUIM_DragDrop
  54. Area.mui/MUIM_DragFinish
  55. Area.mui/MUIM_DragQuery
  56. Area.mui/MUIM_DragReport
  57. Area.mui/MUIM_Draw
  58. Area.mui/MUIM_HandleInput
  59. Area.mui/MUIM_Hide
  60. Area.mui/MUIM_Setup
  61. Area.mui/MUIM_Show
  62. Area.mui/Area.mui
  63.  
  64.     Area class is a super class for every other MUI class
  65.     except windows and applications. It holds information
  66.     about an objects current position, size and weight
  67.     and manages frames, fonts and backgrounds.
  68.  
  69.     Additionally, area class handles the user input. By
  70.     setting an objects MUIA_InputMode, you can make it
  71.     behave like a button or like a toggle gadget. That's
  72.     why MUI doesn't offer an extra button class. A button
  73.     is simply a text object with a raised frame and a relverify
  74.     input mode. Since especially group class is a subclass
  75.     of area, you can create rather complex buttons consisting
  76.     of many other display elements.
  77. Area.mui/MUIA_Background
  78.  
  79.     NAME
  80.     MUIA_Background -- (V4 ) [IS.], LONG
  81.  
  82.     FUNCTION
  83.     Adjust the background for an object.
  84.  
  85.     Every MUI object has its own background setting.
  86.     The background is displayed "behind" the actual
  87.     object contents, e.g. behind a the text of a
  88.     text object or behind the image of an image object.
  89.  
  90.     This attribute takes the same values as MUIA_Image_Spec,
  91.     please refer to autodocs of image class for a complete
  92.     description.
  93.  
  94.     An object without a specific background setting will
  95.     inherit the pattern from its parent group. The default
  96.     background for a window and many other background
  97.     patterns are adjustable with the preferences program.
  98.  
  99.     Only a few MUII_xxxxxxx tags make sense as background.
  100.     Important are:
  101.  
  102.     MUII_ButtonBack:
  103.        You have to set this when you create a button gadget.
  104.        Thus, your button will be displayed in the users
  105.        preferred style.
  106.  
  107.     MUII_TextBack:
  108.        Set this when you create a text object with a TextFrame,
  109.        e.g. some kind of status line. Do *not* use MUII_TextBack
  110.        for simple text without frame (e.g. gadget labels).
  111.  
  112.     MUII_BACKGROUND
  113.     MUII_SHADOW
  114.     MUII_SHINE
  115.     MUII_FILL
  116.     MUII_SHADOWBACK
  117.     MUII_SHADOWFILL
  118.     MUII_SHADOWSHINE
  119.     MUII_FILLBACK
  120.     MUII_FILLSHINE
  121.     MUII_SHINEBACK
  122.     MUII_SHINEBACK2:
  123.        One of MUI's predefined pattern. These are not
  124.        configurable by the user and will always look the
  125.        same.
  126.  
  127.     Note: It is *important* that you test your programs with
  128.           a fancy pattern configuration. With the default
  129.           setting you won't notice any errors in your backgrounds.
  130. Area.mui/MUIA_BottomEdge
  131.  
  132.     NAME
  133.     MUIA_BottomEdge -- (V4 ) [..G], LONG
  134.  
  135.     FUNCTION
  136.     You can use this to read the current position and
  137.     dimension of an object, if you e.g. need it to pop
  138.     up some requester below.
  139.  
  140.     Of course, this attribute is only valid when the
  141.     parent window of the object is currently open.
  142.  
  143.     SEE ALSO
  144.     MUIA_TopEdge, MUIA_Width, MUIA_Height,
  145.     MUIA_RightEdge, MUIA_LeftEdge
  146. Area.mui/MUIA_ContextMenu
  147.  
  148.     NAME
  149.     MUIA_ContextMenu -- (V11) [ISG], Object *
  150.  
  151.     FUNCTION
  152.     Specifies a context sensitive popup menu for the current
  153.     object. For MUI, popup menus are nothing else but standard
  154.     intuition menus, so you must specify a pointer to a
  155.     MUI menustrip object (e.g. something returned from
  156.     MUI_MakeObject(MUIO_MenustripNM,...)) here.
  157.  
  158.     Whenever the user hits the RMB and the mouse is above the parent
  159.     object, MUI will present the popup menu instead of the windows
  160.     menu.
  161.  
  162.     Note: MUI will *not* dispose the MUIA_ContextMenu object when
  163.     the object is disposed. You must take care of the menustrip
  164.     object yourself. This is because menustrip objects of
  165.     MUIA_ContextMenu do not actually "belong" to their parent
  166.     objects, it's just a "reference". You are allowed to use
  167.     a single menustrip object as MUIA_ContextMenu for different
  168.     objects of the same window. Do *not* share with objects in
  169.     other windows or with the default menu of a window or
  170.     an application!
  171.  
  172.     If the user selects an item, the object will receive
  173.     a MUIM_ContextMenuChoice method containing the selected
  174.     menuitem object. If you built your menustrip tree with
  175.     MUI_MakeObject(MUIO_MenustripNM,...), you will find the
  176.     nm_UserData of your menu entry in muiUserData(menuitem).
  177.     If you have control over methods because you are a
  178.     subclass, you can immediately take approriate actions 
  179.     when receiving MUIM_ContextMenuChoice.
  180.  
  181.     If you dont have a subclass or dont override
  182.     MUIM_ContextMenuChoice, the method will finally reach
  183.     area class and will set the attribute MUIA_ContextMenuTrigger
  184.     to the appropriate menuitem object. This allows you to react on
  185.     context menu selections by simple notification and eliminates
  186.     the need of writing a subclass just for this purpose.
  187.  
  188.     Note: Subclasses are always the better solution!
  189.  
  190.     There is also a possibility to dynamically create popup menus
  191.     on the fly. See MUIM_ContextMenuBuild for details.
  192.  
  193.     NOTES
  194.     MUI uses the same tree-like technique as always (e.g. with
  195.     drag&drop) to find out whichs context menu to use on a
  196.     certain mouse position. This allows you to have a context
  197.     menu for a group and different context menus for its
  198.     children. The MUI preferences program makes use of that
  199.     feature by allowing to control a single gadget or a whole
  200.     page of gadgets with popup menus.
  201.  
  202.     SEE ALSO
  203.     MUIA_ContextMenuTrigger, MUIM_ContextMenuChoice,
  204.     MUIM_ContextMenuBuild
  205. Area.mui/MUIA_ContextMenuTrigger
  206.  
  207.     NAME
  208.     MUIA_ContextMenuTrigger -- (V11) [..G], Object *
  209.  
  210.     FUNCTION
  211.     Allows reacting on context menus with notificaton.
  212.     When the MUIM_ContextMenuChoice method reaches area class
  213.     because you did not override it in a subclass, it sets
  214.     MUIA_ContextMenuTrigger to the received paremeter which
  215.     is a pointer to the user-selected menuitem object.
  216.  
  217.     See MUIA_ContextMenu for details.
  218.  
  219.     SEE ALSO
  220.     MUIA_ContextMenu, MUIM_ContextMenuChoice, MUIM_ContextMenuBuild
  221. Area.mui/MUIA_ControlChar
  222.  
  223.     NAME
  224.     MUIA_ControlChar -- (V4 ) [ISG], char
  225.  
  226.     FUNCTION
  227.     Pressing the control char will have the same effect
  228.     as pressing return if the object was active.
  229.     
  230.     This can be used to create old style key shortcuts.
  231.  
  232.     Note: Using an uppercase control char will force
  233.           the user to press shift.
  234.  
  235.     SEE ALSO
  236.     mui.h / KeyButton() macro
  237. Area.mui/MUIA_CycleChain
  238.  
  239.     NAME
  240.     MUIA_CycleChain -- (V11) [ISG], LONG
  241.  
  242.     FUNCTION
  243.     MUI 3 introduces a new keyboard cycle chain system. All you 
  244.     have to do is to set  MUIA_CycleChain to 1 for every object 
  245.     that you want to have in your chain, MUI does the rest 
  246.     automatically. The old MUIM_Window_SetCycleChain will continue 
  247.     to work but is considered obsolete.
  248.  
  249.     SEE ALSO
  250.     Window.mui/MUIM_Window_SetCycleChain
  251. Area.mui/MUIA_Disabled
  252.  
  253.     NAME
  254.     MUIA_Disabled -- (V4 ) [ISG], BOOL
  255.  
  256.     FUNCTION
  257.     Disable or enable a gadget. Setting this attribute
  258.     causes a gadget to become disabled, it gets a ghost
  259.     pattern and doesn't respond to user input any longer.
  260.  
  261.     Disabled gadgets cannot be activated with the TAB key.
  262.  
  263.     Using MUIA_Disable on a group of objects will disable
  264.     all objects within that group.
  265.  
  266.     EXAMPLE
  267.     /* we have a radio button gadget with three         */
  268.     /* entries, the third should enable a string gadget */
  269.     /* with additional parameters                       */
  270.  
  271.     DoMethod(radio, MUIM_Notify, MUIA_Radio_Active, 0,
  272.        string, 3, MUIM_Set, MUIA_Disabled, TRUE);
  273.  
  274.     DoMethod(radio, MUIM_Notify, MUIA_Radio_Active, 1,
  275.        string, 3, MUIM_Set, MUIA_Disabled, TRUE);
  276.  
  277.     DoMethod(radio, MUIM_Notify, MUIA_Radio_Active, 2,
  278.        string, 3, MUIM_Set, MUIA_Disabled, FALSE);
  279. Area.mui/MUIA_Draggable
  280.  
  281.     NAME
  282.     MUIA_Draggable -- (V11) [ISG], BOOL
  283.  
  284.     FUNCTION
  285.     Set this if you want the complete object to be
  286.     dragable for D&D operations.
  287. Area.mui/MUIA_Dropable
  288.  
  289.     NAME
  290.     MUIA_Dropable -- (V11) [ISG], BOOL
  291.  
  292.     FUNCTION
  293.     Only objects with this attribute set to TRUE will be asked
  294.     if they want to become an active Drag & Drop destination
  295.     at all. Though this attribute defaults to TRUE, this doesnt
  296.     mean that every object automatically aceppts D&D actions,
  297.     because the MUIM_DragQuery method is answered FALSE when
  298.     it arrives at area class.
  299.  
  300.     SEE ALSO
  301.     MUIM_DragQuery
  302. Area.mui/MUIA_ExportID
  303.  
  304.     NAME
  305.     MUIA_ExportID -- (V4 ) [ISG], ULONG (OBSOLETE)
  306.  
  307.     FUNCTION
  308.     Objects with a non NULL MUIA_ExportID export their
  309.     contents during MUIM_Application_Save and import
  310.     them during MUIM_Application_Load.
  311.  
  312.     You have to use different ExportIDs for your objects!
  313.  
  314.     NOTE
  315.     This attribute is renamed to MUIA_ObjectID since
  316.     muimaster.library V12.
  317.  
  318.     SEE ALSO
  319.     MUIM_Application_Save, MUIM_Application_Load
  320. Area.mui/MUIA_FixHeight
  321.  
  322.     NAME
  323.     MUIA_FixHeight -- (V4 ) [I..], LONG
  324.  
  325.     FUNCTION
  326.     Give your object a fixed pixel height. This tag is
  327.     absolutely not needed in a general MUI application
  328.     and only present for emergency situations. Please
  329.     think twice before using it!
  330.  
  331.     EXAMPLE
  332.     /* create an 8x8 pixel rectangle with FILLPEN */
  333.  
  334.     RectangleObject,
  335.        MUIA_FixWidth  , 8,
  336.        MUIA_FixHeight , 8,
  337.        MUIA_Background, MUII_FILL,
  338.        End;
  339.  
  340.     SEE ALSO
  341.     MUIA_FixWidth, MUIA_FixWidthTxt, MUIA_FixHeightTxt
  342. Area.mui/MUIA_FixHeightTxt
  343.  
  344.     NAME
  345.     MUIA_FixHeightTxt -- (V4 ) [I..], STRPTR
  346.  
  347.     FUNCTION
  348.     Give your object a fixed pixel height. The height
  349.     will match the height of the given string. This tag is
  350.     absolutely not needed in a general MUI application
  351.     and only present for emergency situations. Please
  352.     think twice before using it!
  353.  
  354.     EXAMPLE
  355.     /* create a fixed size rectangle with FILLPEN */
  356.  
  357.     RectangleObject,
  358.        MUIA_FixWidthTxt , "00:00:00",
  359.        MUIA_FixHeightTxt, "\n\n",
  360.        MUIA_Background  , MUII_FILL,
  361.        End;
  362.  
  363.     SEE ALSO
  364.     MUIA_FixHeight, MUIA_FixWidth, MUIA_FixWidthTxt
  365. Area.mui/MUIA_FixWidth
  366.  
  367.     NAME
  368.     MUIA_FixWidth -- (V4 ) [I..], LONG
  369.  
  370.     FUNCTION
  371.     Give your object a fixed pixel width. This tag is
  372.     absolutely not needed in a general MUI application
  373.     and only present for emergency situations. Please
  374.     think twice before using it!
  375.  
  376.     EXAMPLE
  377.     /* create an 8x8 pixel rectangle with FILLPEN */
  378.  
  379.     RectangleObject,
  380.        MUIA_FixWidth  , 8,
  381.        MUIA_FixHeight , 8,
  382.        MUIA_Background, MUII_FILL,
  383.        End;
  384.  
  385.     SEE ALSO
  386.     MUIA_FixHeight, MUIA_FixWidthTxt, MUIA_FixHeightTxt
  387. Area.mui/MUIA_FixWidthTxt
  388.  
  389.     NAME
  390.     MUIA_FixWidthTxt -- (V4 ) [I..], STRPTR
  391.  
  392.     FUNCTION
  393.     Give your object a fixed pixel width. The width
  394.     will match the width of the given string. This tag is
  395.     absolutely not needed in a general MUI application
  396.     and only present for emergency situations. Please
  397.     think twice before using it!
  398.  
  399.     EXAMPLE
  400.     /* create a fixed size rectangle with FILLPEN */
  401.  
  402.     RectangleObject,
  403.        MUIA_FixWidthTxt , "00:00:00",
  404.        MUIA_FixHeightTxt, "\n\n",
  405.        MUIA_Background  , MUII_FILL,
  406.        End;
  407.  
  408.     SEE ALSO
  409.     MUIA_FixHeight, MUIA_FixWidth, MUIA_FixHeightTxt
  410. Area.mui/MUIA_Font
  411.  
  412.     NAME
  413.     MUIA_Font -- (V4 ) [I.G], struct TextFont *
  414.  
  415.     SPECIAL INPUTS
  416.     MUIV_Font_Inherit
  417.     MUIV_Font_Normal
  418.     MUIV_Font_List
  419.     MUIV_Font_Tiny
  420.     MUIV_Font_Fixed
  421.     MUIV_Font_Title
  422.     MUIV_Font_Big
  423.     MUIV_Font_Button
  424.  
  425.     FUNCTION
  426.     Every MUI object can have its own font, just set it with
  427.     this tag. Objects without an explicit font setting will
  428.     inherit it from their parent group.
  429.  
  430.     You normally won't need to open a font yourself, just
  431.     use one of the predefined values to get a font from
  432.     the users preferences.
  433.  
  434.     EXAMPLE
  435.     /* since the text contains tabs,           */
  436.     /* use the fixed width font for displaying */
  437.  
  438.     msgread = FloattextObject,
  439.        MUIA_Font, MUIV_Font_Fixed,
  440.        ...,
  441.        End;
  442. Area.mui/MUIA_Frame
  443.  
  444.     NAME
  445.     MUIA_Frame -- (V4 ) [I..], LONG
  446.  
  447.     SPECIAL INPUTS
  448.     MUIV_Frame_None
  449.     MUIV_Frame_Button
  450.     MUIV_Frame_ImageButton
  451.     MUIV_Frame_Text
  452.     MUIV_Frame_String
  453.     MUIV_Frame_ReadList
  454.     MUIV_Frame_InputList
  455.     MUIV_Frame_Prop
  456.     MUIV_Frame_Gauge
  457.     MUIV_Frame_Group
  458.     MUIV_Frame_PopUp
  459.     MUIV_Frame_Virtual
  460.     MUIV_Frame_Slider
  461.     MUIV_Frame_Count
  462.  
  463.     FUNCTION
  464.     Define a frame for the current object. Since area class
  465.     is a superclass for all elements in a window, you can
  466.     assign frames to every object you wish.
  467.  
  468.     You don't adjust the style of your frame directly,
  469.     instead you only specify a type:
  470.  
  471.     MUIV_Frame_Button
  472.        for standard buttons with text in it.
  473.  
  474.     MUIV_Frame_ImageButton
  475.        for small buttons with images, e.g. the arrows
  476.        of a scrollbar.
  477.  
  478.     MUIV_Frame_Text
  479.        for a text field, e.g. a status line display.
  480.  
  481.     MUIV_Frame_String
  482.        for a string gadget.
  483.  
  484.     MUIV_Frame_ReadList
  485.        for a read only list.
  486.  
  487.     MUIV_Frame_InputList
  488.        for a list that handles input (has a cursor).
  489.  
  490.     MUIV_Frame_Prop
  491.        for proportional gadgets.
  492.  
  493.     MUIV_Frame_Group
  494.        for groups.
  495.  
  496.     How the frame is going to look is adjustable via the
  497.     preferences program.
  498.  
  499.     Four spacing values belong to each frame that tell
  500.     MUI how many pixels should be left free between the
  501.     frame and its contents. These spacing values are also
  502.     user adjustable as long as you don't override them
  503.     with one of the MUIA_InnerXXXX tags.
  504.  
  505.     Note: The first object in a window (MUIA_Window_RootObject)
  506.           may *not* have a frame. If you need this you will have
  507.           to create a dummy group with just one child.
  508.  
  509.     EXAMPLE
  510.     strobj = StringObject,
  511.        MUIA_Frame, MUIV_Frame_String,
  512.        End;
  513.  
  514.     SEE ALSO
  515.     MUIA_InnerLeft, MUIA_InnerRight, MUIA_InnerTop,
  516.     MUIA_InnerBottom
  517. Area.mui/MUIA_FramePhantomHoriz
  518.  
  519.     NAME
  520.     MUIA_FramePhantomHoriz -- (V4 ) [I..], BOOL
  521.  
  522.     FUNCTION
  523.     Setting this to TRUE causes the specified frame to be
  524.     a horizontal phantom frame. The frame will not appear
  525.     but its vertical components (frame height, inner
  526.     top and inner bottom spacing) will be used to calculate
  527.     positions and dimensions (horizontal components are
  528.     treated as 0).
  529.  
  530.     This is extremely useful for a correct labeling of objects.
  531.     You would e.g. label a string gadget by using a text object
  532.     with a phantom string frame. Thus, the label text will
  533.     be always on the same vertical position as the string
  534.     gadget text, no matter what spacing values the user
  535.     configured.
  536.  
  537.     SEE ALSO
  538.     Label() macros in "mui.h".
  539. Area.mui/MUIA_FrameTitle
  540.  
  541.     NAME
  542.     MUIA_FrameTitle -- (V4 ) [I..], STRPTR
  543.  
  544.     FUNCTION
  545.     This tag identifies a text string that will be displayed
  546.     centered in the top line of a frame. This can become
  547.     handy if you want to name groups of objects.
  548.  
  549.     You may not use MUIA_FrameTitle without defining
  550.     a MUIA_Frame.
  551.  
  552.     EXAMPLE
  553.     VGroup,
  554.        MUIA_Frame     , MUIV_Frame_Group,
  555.        MUIA_FrameTitle, "Spacing",
  556.        ...
  557.  
  558.     SEE ALSO
  559.     MUIA_Frame
  560. Area.mui/MUIA_Height
  561.  
  562.     NAME
  563.     MUIA_Height -- (V4 ) [..G], LONG
  564.  
  565.     FUNCTION
  566.     You can use this to read the current position and
  567.     dimension of an object, if you e.g. need it to pop
  568.     up some requester below.
  569.  
  570.     Of course, this attribute is only valid when the
  571.     parent window of the object is currently open.
  572.  
  573.     SEE ALSO
  574.     MUIA_TopEdge, MUIA_Width, MUIA_LeftEdge,
  575.     MUIA_RightEdge, MUIA_BottomEdge
  576. Area.mui/MUIA_HorizDisappear
  577.  
  578.     NAME
  579.     MUIA_HorizDisappear -- (V11) [ISG], LONG
  580.  
  581.     FUNCTION
  582.     Objects with a disappear level disappear automatically
  583.     when their parent window gets too small to display them.
  584.     Use this for things that make your GUI look nicer
  585.     (e.g. Imagery) but are not absolutely necessary.
  586.  
  587.     By using disappearing objects, you can make nice GUIs
  588.     which still work on crappy 640x200 screens.
  589.  
  590.     You can give horizontal or vertical disappear levels
  591.     to objects which are used for horizontal or vertical
  592.     layout calculations respectively.
  593.  
  594.     Objects with a small disappear level disappear before
  595.     objects with a big disappear level.
  596.  
  597.     SEE ALSO
  598.     MUIA_VertDisappear
  599. Area.mui/MUIA_HorizWeight
  600.  
  601.     NAME
  602.     MUIA_HorizWeight -- (V4 ) [I..], WORD
  603.  
  604.     FUNCTION
  605.     Adjust the horizontal weight of an object. Usually
  606.     you can simply use MUIA_Weight instead of this tag
  607.     but in some two-dimensional groups it may become
  608.     handy to have different horizontal and vertical 
  609.     weights.
  610.  
  611.     SEE ALSO
  612.     MUIA_Weight
  613. Area.mui/MUIA_InnerBottom
  614.  
  615.     NAME
  616.     MUIA_InnerBottom -- (V4 ) [I..], LONG
  617.  
  618.     FUNCTION
  619.     Adjust the space between an object and its frame.
  620.     Usually you shouldn't use this tag since you will
  621.     override the users preferred default setting.
  622.  
  623.     SEE ALSO
  624.     MUIA_Frame
  625. Area.mui/MUIA_InnerLeft
  626.  
  627.     NAME
  628.     MUIA_InnerLeft -- (V4 ) [I..], LONG
  629.  
  630.     FUNCTION
  631.     Adjust the space between an object and its frame.
  632.     Usually you shouldn't use this tag since you will
  633.     override the users preferred default setting.
  634.  
  635.     SEE ALSO
  636.     MUIA_Frame
  637. Area.mui/MUIA_InnerRight
  638.  
  639.     NAME
  640.     MUIA_InnerRight -- (V4 ) [I..], LONG
  641.  
  642.     FUNCTION
  643.     Adjust the space between an object and its frame.
  644.     Usually you shouldn't use this tag since you will
  645.     override the users preferred default setting.
  646.  
  647.     SEE ALSO
  648.     MUIA_Frame
  649. Area.mui/MUIA_InnerTop
  650.  
  651.     NAME
  652.     MUIA_InnerTop -- (V4 ) [I..], LONG
  653.  
  654.     FUNCTION
  655.     Adjust the space between an object and its frame.
  656.     Usually you shouldn't use this tag since you will
  657.     override the users preferred default setting.
  658.  
  659.     SEE ALSO
  660.     MUIA_Frame
  661. Area.mui/MUIA_InputMode
  662.  
  663.     NAME
  664.     MUIA_InputMode -- (V4 ) [I..], LONG
  665.  
  666.     SPECIAL INPUTS
  667.     MUIV_InputMode_None
  668.     MUIV_InputMode_RelVerify
  669.     MUIV_InputMode_Immediate
  670.     MUIV_InputMode_Toggle
  671.  
  672.     FUNCTION
  673.     Adjust the input mode for an object.
  674.  
  675.     MUI has no distinct button class. Instead you can make
  676.     every object (even groups) behave like a button by
  677.     setting an input mode for them. Several input modes
  678.     area available:
  679.  
  680.     MUIV_InputMode_None:
  681.        No input, this is not a gadget.
  682.  
  683.     MUIV_InputMode_RelVerify:
  684.        For buttons and similar stuff.
  685.  
  686.     MUIV_InputMode_Immediate:
  687.        Used e.g. in a radio button object.
  688.  
  689.     MUIV_InputMode_Toggle:
  690.        For things like checkmark gadgets.
  691.  
  692.     The input mode setting determines how a user action
  693.     will trigger the attributes MUIA_Selected, MUIA_Pressed
  694.     and MUIA_Timer. See their documentation for details.
  695.  
  696.     EXAMPLE
  697.     /* A traditional button, just a text object with */
  698.     /* a button frame and a relverify input mode:    */
  699.  
  700.     okbutton = TextObject,
  701.        MUIA_Frame        , MUIV_Frame_Button,
  702.        MUIA_InputMode    , MUIV_InputMode_RelVerify,
  703.        MUIA_Text_Contents, "OK",
  704.        ...
  705.  
  706.     SEE ALSO
  707.     MUIA_Selected, MUIA_Timer, MUIA_Pressed
  708. Area.mui/MUIA_LeftEdge
  709.  
  710.     NAME
  711.     MUIA_LeftEdge -- (V4 ) [..G], LONG
  712.  
  713.     FUNCTION
  714.     You can use this to read the current position and
  715.     dimension of an object, if you e.g. need it to pop
  716.     up some requester below.
  717.  
  718.     Of course, this attribute is only valid when the
  719.     parent window of the object is currently open.
  720.  
  721.     SEE ALSO
  722.     MUIA_TopEdge, MUIA_Width, MUIA_Height,
  723.     MUIA_RightEdge, MUIA_BottomEdge
  724. Area.mui/MUIA_MaxHeight
  725.  
  726.     NAME
  727.     MUIA_MaxHeight -- (V11) [I..], LONG
  728.  
  729.     FUNCTION
  730.     Specify a maximum height for an object (in pixels).
  731.  
  732.     SEE ALSO
  733.     MUIA_MaxWidth, MUIA_FixWidth, MUIA_FixHeight
  734. Area.mui/MUIA_MaxWidth
  735.  
  736.     NAME
  737.     MUIA_MaxWidth -- (V11) [I..], LONG
  738.  
  739.     FUNCTION
  740.     Specify a maximum width for an object (in pixels).
  741.  
  742.     SEE ALSO
  743.     MUIA_MaxHeight, MUIA_FixWidth, MUIA_FixHeight
  744. Area.mui/MUIA_ObjectID
  745.  
  746.     NAME
  747.     MUIA_ObjectID -- (V11) [ISG], ULONG
  748.  
  749.     FUNCTION
  750.     This is a synonym for MUIA_ExportID.
  751.  
  752.     SEE ALSO
  753.     MUIA_ExportID
  754. Area.mui/MUIA_Pressed
  755.  
  756.     NAME
  757.     MUIA_Pressed -- (V4 ) [..G], BOOL
  758.  
  759.     FUNCTION
  760.     Learn if a button is pressed (or released).
  761.     The MUIA_Pressed attribute of a gadget is triggered
  762.     by some user action, depending on the input mode:
  763.  
  764.     MUIV_InputMode_RelVerify:
  765.        - set when lmb is pressed.
  766.        - cleared when lmb is released and the mouse
  767.          is still over the gadget (otherwise it will
  768.          be cleared too, but without triggering a
  769.          notification event).
  770.  
  771.     MUIV_InputMode_Immediate:
  772.        - undefined, use MUIA_Selected for this.
  773.  
  774.     MUIV_InputMode_Toggle:
  775.        - undefined, use MUIA_Selected for this.
  776.  
  777.     Waiting for MUIA_Pressed getting FALSE is the usual
  778.     way to react on button gadgets.
  779.  
  780.     EXAMPLE
  781.     DoMethod(btcancel,MUIM_Notify,MUIA_Pressed,FALSE,
  782.        app,2,MUIM_Application_ReturnID,ID_CANCEL);
  783.  
  784.     SEE ALSO
  785.     MUIA_Selected, MUIA_Timer, MUIA_ShowSelState, MUIA_InputMode
  786. Area.mui/MUIA_RightEdge
  787.  
  788.     NAME
  789.     MUIA_RightEdge -- (V4 ) [..G], LONG
  790.  
  791.     FUNCTION
  792.     You can use this to read the current position and
  793.     dimension of an object, if you e.g. need it to pop
  794.     up some requester below.
  795.  
  796.     Of course, this attribute is only valid when the
  797.     parent window of the object is currently open.
  798.  
  799.     SEE ALSO
  800.     MUIA_TopEdge, MUIA_Width, MUIA_Height,
  801.     MUIA_LeftEdge, MUIA_BottomEdge
  802. Area.mui/MUIA_Selected
  803.  
  804.     NAME
  805.     MUIA_Selected -- (V4 ) [ISG], BOOL
  806.  
  807.     FUNCTION
  808.     Get and set the selected state of a gadget.
  809.     This attribute can be triggered by the user
  810.     clicking on the gadget (or using the keyboard),
  811.     depending on the input mode:
  812.  
  813.     MUIV_InputMode_RelVerify:
  814.        - set when lmb is pressed.
  815.        - cleared when lmb is released.
  816.        - cleared when the gadget is selected and the
  817.          mouse leaves the gadget box.
  818.        - set when the mouse reenters the gadget box.
  819.  
  820.     MUIV_InputMode_Immediate:
  821.        - set when lmb is pressed.
  822.  
  823.     MUIV_InputMode_Toggle:
  824.        - toggled when lmb is pressed.
  825.  
  826.     Of course you may set this attribute yourself, e.g.
  827.     to adjust the state of a checkmark gadget.
  828.  
  829.     A selected gadget will display its border reverse
  830.     and get the configured MUII_SelectedBack background.
  831.     This can be avoided using the MUIA_ShowSelState tag.
  832.  
  833.     SEE ALSO
  834.     MUIA_Pressed, MUIA_Timer, MUIA_ShowSelState, MUIA_InputMode
  835. Area.mui/MUIA_ShortHelp
  836.  
  837.     NAME
  838.     MUIA_ShortHelp -- (V11) [ISG], STRPTR
  839.  
  840.     FUNCTION
  841.     Specify a string that is to be used as bubble help for this
  842.     object.
  843. Area.mui/MUIA_ShowMe
  844.  
  845.     NAME
  846.     MUIA_ShowMe -- (V4 ) [ISG], BOOL
  847.  
  848.     FUNCTION
  849.     Objects with this attribute set are not displayed. You can
  850.     set MUIA_ShowMe at any time, causing objects to appear and
  851.     to disappear immediately. A new layout is calculated whenever
  852.     some objects are shown or hidden. When necessary, MUI will
  853.     resize the parent window to make place for the new objects.
  854.  
  855.     NOTE
  856.     Currently, MUI does a complete window refresh after
  857.     showing/hiding objects. This behaviour might get improved
  858.     in the future.
  859. Area.mui/MUIA_ShowSelState
  860.  
  861.     NAME
  862.     MUIA_ShowSelState -- (V4 ) [I..], BOOL
  863.  
  864.     FUNCTION
  865.     Normally a gadget will reverse its frame and
  866.     display the configured MUII_SelectetBack background
  867.     pattern in its selected state. For some objects
  868.     (e.g. checkmarks) this is not recommended and
  869.     can be supressed by setting MUIA_ShowSelState
  870.     to FALSE.
  871.  
  872.     SEE ALSO
  873.     MUIA_Selected
  874. Area.mui/MUIA_Timer
  875.  
  876.     NAME
  877.     MUIA_Timer -- (V4 ) [..G], LONG
  878.  
  879.     FUNCTION
  880.     MUIA_Timer gets triggered when a relverify button is 
  881.     pressed and (after a little delay) increases every 
  882.     INTUITICK as long as the mouse remains over the gadget.
  883.  
  884.     This makes it possible to have buttons repeatedly
  885.     cause some actions, just like the arrow gadgets of
  886.     a scrollbar.
  887.  
  888.     EXAMPLE
  889.     DoMethod(btmore,MUIM_Notify,MUIA_Timer,MUIV_EveryTime,
  890.        app,2,MUIM_Application_ReturnID,ID_MORE);
  891.  
  892.     DoMethod(btless,MUIM_Notify,MUIA_Timer,MUIV_EveryTime,
  893.        app,2,MUIM_Application_ReturnID,ID_LESS);
  894.  
  895.     SEE ALSO
  896.     MUIA_Pressed, MUIA_Selected
  897. Area.mui/MUIA_TopEdge
  898.  
  899.     NAME
  900.     MUIA_TopEdge -- (V4 ) [..G], LONG
  901.  
  902.     FUNCTION
  903.     You can use this to read the current position and
  904.     dimension of an object, if you e.g. need it to pop
  905.     up some requester below.
  906.  
  907.     Of course, this attribute is only valid when the
  908.     parent window of the object is currently open.
  909.  
  910.     SEE ALSO
  911.     MUIA_LeftEdge, MUIA_Width, MUIA_Height,
  912.     MUIA_RightEdge, MUIA_BottomEdge
  913. Area.mui/MUIA_VertDisappear
  914.  
  915.     NAME
  916.     MUIA_VertDisappear -- (V11) [ISG], LONG
  917.  
  918.     FUNCTION
  919.     Objects with a disappear level disappear automatically
  920.     when their parent window gets too small to display them.
  921.     Use this for things that make your GUI look nicer
  922.     (e.g. Imagery) but are not absolutely necessary.
  923.  
  924.     By using disappearing objects, you can make nice GUIs
  925.     which still work on crappy 640x200 screens.
  926.  
  927.     You can give horizontal or vertical disappear levels
  928.     to objects which are used for horizontal or vertical
  929.     layout calculations respectively.
  930.  
  931.     Objects with a small disappear level disappear before
  932.     objects with a big disappear level.
  933.  
  934.     SEE ALSO
  935.     MUIA_HorizDisappear
  936. Area.mui/MUIA_VertWeight
  937.  
  938.     NAME
  939.     MUIA_VertWeight -- (V4 ) [I..], WORD
  940.  
  941.     FUNCTION
  942.     Adjust the vertical weight of an object. Usually
  943.     you can simply use MUIA_Weight instead of this tag
  944.     but in some two-dimensional groups it may become
  945.     handy to have different horizontal and vertical
  946.     weights.
  947.  
  948.     SEE ALSO
  949.     MUIA_Weight
  950. Area.mui/MUIA_Weight
  951.  
  952.     NAME
  953.     MUIA_Weight -- (V4 ) [I..], WORD
  954.  
  955.     FUNCTION
  956.     This tag is a shorthand for MUIA_HorizWeight and
  957.     MUIA_VertHeight, it sets both weights at once.
  958.  
  959.     The weight of an object determines how much room it
  960.     will get during the layout process. Imagine you have
  961.     a 100 pixel wide horizontal group with two string
  962.     gadgets. Usually, each gadget will get half of the
  963.     room and be 50 pixels wide. If you feel the left
  964.     gadget is more important and should be bigger,
  965.     you can give it a weight of 200 (and 100 for
  966.     the right gadget). Because the left gadget is
  967.     twice as "heavy" as the right gadget, it will
  968.     become twice as big (about 66 pixel) as the
  969.     right one (34 pixel).
  970.  
  971.     Of course giving weights only makes sense if the
  972.     object is resizable. A MUIA_VertWeight for a
  973.     (always fixed height) string gadget is useless.
  974.  
  975.     An object with a weight of 0 will always stay
  976.     at its minimum size.
  977.  
  978.     By default, all objects have a weight of 100.
  979.  
  980.     EXAMPLE
  981.     HGroup,
  982.        StringGadget, MUIA_Weight,  50, End,
  983.        StringGadget, MUIA_Weight, 100, End,
  984.        StringGadget, MUIA_Weight, 200, End,
  985.        End;
  986.  
  987.     SEE ALSO
  988.     MUIA_HorizWeight, MUIA_VertWeight
  989. Area.mui/MUIA_Width
  990.  
  991.     NAME
  992.     MUIA_Width -- (V4 ) [..G], LONG
  993.  
  994.     FUNCTION
  995.     You can use this to read the current position and
  996.     dimension of an object, if you e.g. need it to pop
  997.     up some requester below.
  998.  
  999.     Of course, this attribute is only valid when the
  1000.     parent window of the object is currently open.
  1001.  
  1002.     SEE ALSO
  1003.     MUIA_TopEdge, MUIA_LeftEdge, MUIA_Height,
  1004.     MUIA_RightEdge, MUIA_BottomEdge
  1005. Area.mui/MUIA_Window
  1006.  
  1007.     NAME
  1008.     MUIA_Window -- (V4 ) [..G], struct Window *
  1009.  
  1010.     FUNCTION
  1011.     This attribute can be used to get a pointer to the
  1012.     intuition window structure of the parent window 
  1013.     ot the object. This pointer could e.g. be used
  1014.     in calls to asl.library.
  1015.  
  1016.     The result is only valid when the window is opened.
  1017.  
  1018.     SEE ALSO
  1019.     MUIA_Window_Window
  1020. Area.mui/MUIA_WindowObject
  1021.  
  1022.     NAME
  1023.     MUIA_WindowObject -- (V4 ) [..G], Object *
  1024.  
  1025.     FUNCTION
  1026.     You can obtain a pointer to the window object
  1027.     that some gadget belongs to by using this attribute.
  1028.     Useful mainly within callback hooks if you do not want
  1029.     to deal with global variables.
  1030.  
  1031.     SEE ALSO
  1032.     MUIA_ApplicationObject
  1033. Area.mui/MUIM_AskMinMax
  1034.  
  1035.     NAME
  1036.     MUIM_AskMinMax (V4 )
  1037.     [For use within custom classes only]
  1038.  
  1039.     SYNOPSIS
  1040.     DoMethod(obj,MUIM_AskMinMax,struct MUI_MinMax *MinMaxInfo);
  1041.  
  1042.     FUNCTION
  1043.     see developer documentation.
  1044. Area.mui/MUIM_Cleanup
  1045.  
  1046.     NAME
  1047.     MUIM_Cleanup (V4 )
  1048.     [For use within custom classes only]
  1049.  
  1050.     SYNOPSIS
  1051.     DoMethod(obj,MUIM_Cleanup,);
  1052.  
  1053.     FUNCTION
  1054.     see developer documentation.
  1055. Area.mui/MUIM_ContextMenuBuild
  1056.  
  1057.     NAME
  1058.     MUIM_ContextMenuBuild (V11)
  1059.  
  1060.     SYNOPSIS
  1061.     DoMethod(obj,MUIM_ContextMenuBuild,LONG mx, LONG my);
  1062.  
  1063.     FUNCTION
  1064.     Allows dynamic creation of context menus.
  1065.     When MUI is about to show a new context menu, it does not
  1066.     simply use the MUIA_ContextMenu field of area class. Instead,
  1067.     it sends a MUIM_ContextMenuBuild to the object in question and
  1068.     uses the return value as the new menustrip object.
  1069.  
  1070.     When MUIM_ContextMenuBuild reaches area class, it just return
  1071.     the contents of MUIA_ContextMenu so you neednt care about this
  1072.     method if you only have static, non-changing context menus.
  1073.  
  1074.     However, if your context menus depend on some internal states
  1075.     of your objects or on the mouse position within your objects,
  1076.     you have to have a subclass which overrides
  1077.     MUIM_ContextMenuBuild, creates a nice menustrip object and
  1078.     returns it.
  1079.  
  1080.     INPUTS
  1081.     mx - current x position of mouse
  1082.     my - current y position of mouse
  1083.  
  1084.     Since MUI does (unfortunately) not use relative coordinates 
  1085.     at all, these two aren't relative either.
  1086.  
  1087.     RESULT
  1088.     You must return a pointer to a menustrip object or NULL if
  1089.     you failed to create one.
  1090.  
  1091.     NOTES
  1092.     MUI will never dispose the object you return. You must be
  1093.     take care of this yourself, e.g. by storing a pointer somewhere
  1094.     in your instance data and killing it on the next invocation
  1095.     of MUIM_ContextMenuBuild and on OM_DISPOSE.
  1096.  
  1097.     Even when overriding MUIM_ContextMenuBuild, you *must* set
  1098.     MUIA_ContextMenu of your object to something different from NULL.
  1099.     MUI will find out that your object actually has a popup menu
  1100.     by directly checking the contents of MUIA_ContextMenu in the
  1101.     instance data of area class due to speed reasons.
  1102.  
  1103.     SEE ALSO
  1104.     MUIA_ContextMenu, MUIA_ContextMenuTrigger, MUIM_ContextMenuChoice,
  1105. Area.mui/MUIM_ContextMenuChoice
  1106.  
  1107.     NAME
  1108.     MUIM_ContextMenuChoice (V11)
  1109.  
  1110.     SYNOPSIS
  1111.     DoMethod(obj,MUIM_ContextMenuChoice,Object *item);
  1112.  
  1113.     FUNCTION
  1114.     Allows reacting on context menus in subclasses.
  1115.  
  1116.     See MUIA_ContextMenu for details.
  1117.  
  1118.     SEE ALSO
  1119.     MUIA_ContextMenuTrigger, MUIM_ContextMenuChoice,
  1120.     MUIM_ContextMenuBuild
  1121. Area.mui/MUIM_DragBegin
  1122.  
  1123.     NAME
  1124.     MUIM_DragBegin (V11)
  1125.  
  1126.     SYNOPSIS
  1127.     DoMethod(obj,MUIM_DragBegin,Object *obj);
  1128.  
  1129.     FUNCTION
  1130.     Inform an object that it has become the active destination
  1131.     of a drag&drop action. An object will only receive this if
  1132.     it has responded positively to a previous MUIM_DragQuery.
  1133.  
  1134.     SEE ALSO
  1135.     MUIM_DragQuery, MUIM_DragFinish, MUIM_DragReport, MUIM_DragDrop
  1136. Area.mui/MUIM_DragDrop
  1137.  
  1138.     NAME
  1139.     MUIM_DragDrop (V11)
  1140.  
  1141.     SYNOPSIS
  1142.     DoMethod(obj,MUIM_DragDrop,Object *obj, LONG x, LONG y);
  1143.  
  1144.     FUNCTION
  1145.         Indicate that the user dropped something on the current
  1146.     object.
  1147.  
  1148.     SEE ALSO
  1149.     MUIM_DragBegin, MUIM_DragFinish, MUIM_DragReport, MUIM_DragQuery
  1150. Area.mui/MUIM_DragFinish
  1151.  
  1152.     NAME
  1153.     MUIM_DragFinish (V11)
  1154.  
  1155.     SYNOPSIS
  1156.     DoMethod(obj,MUIM_DragFinish,Object *obj);
  1157.  
  1158.     FUNCTION
  1159.     Indicate that an object is no longer the active destination
  1160.     object of a drag&drop action.
  1161.  
  1162.     SEE ALSO
  1163.     MUIM_DragQuery, MUIM_DragBegin, MUIM_DragReport, MUIM_DragDrop
  1164. Area.mui/MUIM_DragQuery
  1165.  
  1166.     NAME
  1167.     MUIM_DragQuery (V11)
  1168.  
  1169.     SYNOPSIS
  1170.     DoMethod(obj,MUIM_DragQuery,Object *obj);
  1171.  
  1172.     FUNCTION
  1173.     MUI offers complete drag & drop capabilities for every object.
  1174.     If enabled, the user is able to grab an object, drag it around
  1175.     and drop it on another object. Currently, D&D is limited to
  1176.     single applications, i.e. you cannot take an object from one
  1177.     program and drop it into another one. D&D between different
  1178.     windows of the same application, however, is fine.
  1179.  
  1180.     MUI controls the D&D actions with a set of five methods:
  1181.     MUIM_DragQuery, MUIM_DragBegin, MUIM_DragReport, MUIM_DragDrop
  1182.     and MUIM_DragFinish. Basically things work this way:
  1183.  
  1184.     Lets assume the user has taken an object (called the source
  1185.     object) and is now starting to drag it around. During
  1186.     dragging, MUI will find out which object is currently under
  1187.     the mouse pointer and if it found one, send it the
  1188.     MUIM_DragQuery method. An object that receives MUIM_DragQuery
  1189.     can now determine it it wishes to accept drops from the source
  1190.     object or not. If it responds positively, the object will
  1191.     become the current destination object.
  1192.  
  1193.     Due to the nature of MUIs layout system, a specific x,y pair
  1194.     of coordinates cannot be bound to a specific object
  1195.     immediately. Instead, the coordinates belong to a whole tree
  1196.     of objects, for example some cycle gadget, its parent group,
  1197.     the parent group of the parent group and so on until the tree
  1198.     reaches the windows root object. To allow complete groups of
  1199.     objects to participate in D&D business, the MUIM_DragQuery is
  1200.     first sent to the deepest nested object (the cycle gadget in
  1201.     the above example). If this one doesn't respond, MUI sends a
  1202.     MUIM_DragQuery to its parent group and so on until it either
  1203.     finds some object who accepts the drop or reaches the end of
  1204.     the tree. If there is an accepting object, it will become the
  1205.     current destination, if there isnt, no destination will be
  1206.     set.
  1207.  
  1208.     Objects becoming active destinations of a drag process learn
  1209.     about their current state by receiving a MUIM_DragBegin
  1210.     method. This method, when reaching area class, e.g. draws a
  1211.     special frame around the object to indicate the current state
  1212.     to the user.
  1213.  
  1214.     The opposite of MUIM_DragBegin is MUIM_DragFinish will be sent
  1215.     as soon as the object stops being destination of the drag
  1216.     process, i.e. because the user aborted the drag or moved out
  1217.     of the bounding box. MUIM_DragFinish will also be sent after a
  1218.     successful drop, you cant count on receiving a MUIM_DragFinish
  1219.     if you received a MUIM_DragBegin before. Furthermore, only one
  1220.     object will be between MUIM_DragBegin and MUIM_DragFinish at
  1221.     any time.
  1222.  
  1223.     Active destination objects (between MUIM_DragBegin and
  1224.     MUIM_DragFinish) receive MUIM_DragReport methods as long as
  1225.     the user moves the mouse within the object. MUIM_DragReport
  1226.     contains the mouse coordinates, so the object can update its
  1227.     display according to the position of the source object. A
  1228.     listview would e.g. indicate the insert position to give the
  1229.     user an idea where the source would be inserted in case of a
  1230.     drop.
  1231.  
  1232.     All the method mentioned above are just interim messages that
  1233.     help visualizing the drag process. When the user actually
  1234.     decides to drop its source object, the current destination
  1235.     object (if any) receives a MUIM_DragDrop method and can
  1236.     perfrom whatever operatoin it thinks is suited to handle a D&D
  1237.     action from the source object.
  1238.  
  1239.     You probably have noticed that D&D is controlled by methods.
  1240.     This means that you need to write subclasses if you intend to
  1241.     use it. However, you neednt implement all the above mentioned
  1242.     things to reach your goal. In fact, MUIM_DragQuery and
  1243.     MUIM_DragDrop are enough for almost all D&D invocations.
  1244.     Here's a little example of how MUI implements D&D between
  1245.     objects of Pendisplay class. These few lines allow the user to
  1246.     take any Pendisplay (or subclasses from Pendisplay like e.g.
  1247.     Poppen class) and drop it onto another one:
  1248.  
  1249.     ULONG mDragQuery(cl,obj,struct MUIP_DragQuery *msg)
  1250.     {
  1251.         char *spec;
  1252.  
  1253.         /* refuse to drop on ourselves */
  1254.         if (msg->obj==obj)
  1255.             return(MUIV_DragQuery_Refuse);
  1256.  
  1257.         /* if the source object offers the attribute */
  1258.         /* we want, show that we would accept it. */
  1259.         if (get(msg->obj,MUIA_Pendisplay_Spec,&spec))
  1260.             return(MUIV_DragQuery_Accept);
  1261.  
  1262.         /* refuse otherwise */
  1263.         return(MUIV_DragQuery_Refuse);
  1264.     }
  1265.  
  1266.  
  1267.     ULONG mDragDrop(cl,obj,struct MUIP_DragDrop *msg)
  1268.     {
  1269.         char *spec;
  1270.  
  1271.         /* copy the attribute from the source object */
  1272.         get(msg->obj,MUIA_Pendisplay_Spec,&spec);
  1273.         set(obj,MUIA_Pendisplay_Spec,spec);
  1274.  
  1275.         return(0);
  1276.     }
  1277.  
  1278.     SEE ALSO
  1279.     MUIM_DragBegin, MUIM_DragFinish, MUIM_DragReport, MUIM_DragDrop
  1280. Area.mui/MUIM_DragReport
  1281.  
  1282.     NAME
  1283.     MUIM_DragReport (V11)
  1284.  
  1285.     SYNOPSIS
  1286.     DoMethod(obj,MUIM_DragReport,Object *obj, LONG x, LONG y, LONG update);
  1287.  
  1288.     FUNCTION
  1289.     Interim messages from MOUSEMOVEs and INTUITICKs sent as long
  1290.     as an object is active destination of a drag&drop action.
  1291.  
  1292.     SEE ALSO
  1293.     MUIM_DragQuery, MUIM_DragFinish, MUIM_DragBegin, MUIM_DragDrop
  1294. Area.mui/MUIM_Draw
  1295.  
  1296.     NAME
  1297.     MUIM_Draw (V4 )
  1298.     [For use within custom classes only]
  1299.  
  1300.     SYNOPSIS
  1301.     DoMethod(obj,MUIM_Draw,ULONG flags);
  1302.  
  1303.     FUNCTION
  1304.     see developer documentation.
  1305. Area.mui/MUIM_HandleInput
  1306.  
  1307.     NAME
  1308.     MUIM_HandleInput (V4 )
  1309.     [For use within custom classes only]
  1310.  
  1311.     SYNOPSIS
  1312.     DoMethod(obj,MUIM_HandleInput,struct IntuiMessage *imsg, LONG muikey);
  1313.  
  1314.     FUNCTION
  1315.     see developer documentation.
  1316. Area.mui/MUIM_Hide
  1317.  
  1318.     NAME
  1319.     MUIM_Hide (V4 )
  1320.     [For use within custom classes only]
  1321.  
  1322.     SYNOPSIS
  1323.     DoMethod(obj,MUIM_Hide,);
  1324.  
  1325.     FUNCTION
  1326.     see developer documentation.
  1327. Area.mui/MUIM_Setup
  1328.  
  1329.     NAME
  1330.     MUIM_Setup (V4 )
  1331.     [For use within custom classes only]
  1332.  
  1333.     SYNOPSIS
  1334.     DoMethod(obj,MUIM_Setup,struct MUI_RenderInfo *RenderInfo);
  1335.  
  1336.     FUNCTION
  1337.     see developer documentation.
  1338. Area.mui/MUIM_Show
  1339.  
  1340.     NAME
  1341.     MUIM_Show (V4 )
  1342.     [For use within custom classes only]
  1343.  
  1344.     SYNOPSIS
  1345.     DoMethod(obj,MUIM_Show,);
  1346.  
  1347.     FUNCTION
  1348.     see developer documentation.
  1349.